﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Net;
using System.IO;
using System.Diagnostics;

namespace Cassini
{
    public partial class Callin : Form
    {
        [DllImport("user32")]
        private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);

        //下面是可用的常量，根据不同的动画效果声明自己需要的
        private const int AW_HOR_POSITIVE = 0x0001;//自左向右显示窗口，该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志
        private const int AW_HOR_NEGATIVE = 0x0002;//自右向左显示窗口，该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志
        private const int AW_VER_POSITIVE = 0x0004;//自顶向下显示窗口，该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志
        private const int AW_VER_NEGATIVE = 0x0008;//自下向上显示窗口，该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志该标志
        private const int AW_CENTER = 0x0010;//若使用了AW_HIDE标志，则使窗口向内重叠；否则向外扩展
        private const int AW_HIDE = 0x10000;//隐藏窗口
        private const int AW_ACTIVE = 0x20000;//激活窗口，在使用了AW_HIDE标志后不要使用这个标志
        private const int AW_SLIDE = 0x40000;//使用滑动类型动画效果，默认为滚动动画类型，当使用AW_CENTER标志时，这个标志就被忽略
        private const int AW_BLEND = 0x80000;//使用淡入淡出效果


        private string phone;
        public Callin(string inphone)
        {
            phone = inphone;
            InitializeComponent();
        }
        public Callin()
        {

            InitializeComponent();
        }
        private void Callin_Load(object sender, EventArgs e)
        {
            

            int x = Screen.PrimaryScreen.WorkingArea.Right - this.Width;
            int y = Screen.PrimaryScreen.WorkingArea.Bottom - this.Height;
            this.Location = new Point(x, y);//设置窗体在屏幕右下角显示
            AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);
            string customerinfo = Get2Http("http://localhost:8102/ui/getCallNumInfo.aspx?phone=" + phone, System.Text.Encoding.UTF8);
            //this.Text = customerinfo;
            if (customerinfo.Trim().Length > 0)
            {
                string[] Cinfo = customerinfo.Split('，');
                label_name.Visible = true;
                lblname.Visible = true;
                lblname.Text = Cinfo[0];

                label_tel.Visible = true;
                lbltel.Visible = true;
                lbltel.Text = Cinfo[1];

                if (Cinfo.Length > 2)
                {
                    label_work.Visible = true;
                    lblwork.Visible = true;
                    lblwork.Text = Cinfo[2];
                }
                else
                {

                    label_work.Visible = true;
                    lblwork.Visible = false;

                }

            }
            else
            {
                label_tel.Visible = true;
                lbltel.Visible = true;
                lbltel.Text = phone;

                lblname.Visible = false;
                lblwork.Visible = false;
                label_name.Visible = false;
                label_work.Visible = false;
            }

        }

        private void Callin_FormClosing(object sender, FormClosingEventArgs e)
        {
            AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_HIDE);
        }

        /// <summary>
        /// 传递参数
        /// </summary>
        /// <param name="url"></param>
        /// <param name="en"></param>
        /// <returns></returns>
        public static string Get2Http(string url, Encoding en)
        {


            try
            {
                HttpWebRequest request = null;


                request = (HttpWebRequest)WebRequest.Create(url);
                request.CookieContainer = new CookieContainer();
                request.Timeout = 20000;
                request.KeepAlive = false;
                request.AllowAutoRedirect = true;
                request.Method = "GET";
                request.ContentType = "application/x-www-form-urlencoded";
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream(), en);
                string str = reader.ReadToEnd();
                reader.Close();
                return str;
            }
            catch (SystemException er)
            {

                return "";
            }

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            this.Close();
            this.Dispose();
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Process.Start("IEXPLORE.EXE", "http://localhost:8102/ui/callin.aspx?phone=" + phone + "&close=close");

        }
    }
}
